package cn.com.surker.weight.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 过磅登记异常表
 * </p>
 *
 * @author admin
 * @since 2023-04-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class WeightErrorOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 订单号
     */
    private String orderId;

    /**
     * openid
     */
    private String openid;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 驾驶员
     */
    private String driver;

    /**
     * 车牌号
     */
    private String carNo;

    /**
     * 应用场景
     */
    private Integer sceneType;

    /**
	 * 站点ID,表示数据源datasource的id
     */
    private Long stationId;

    /**
     * 站点名称
     */
    private String stationName;

    /**
     * 供应商ID
     */
    private Long supplierId;

    /**
     * 供应商
     */
    private String supplier;

    /**
     * 供应商Code
     */
    private String supplierCode;

    /**
     * 材料ID
     */
    private Long materialId;

    /**
     * 材料
     */
    private String material;

    /**
     * 是否是筒仓材料(0:筒仓1:堆场)
     */
    private Integer isStorage;

    /**
     * 识别材料
     */
    private String aipMaterial;

    /**
     * 识别车牌
     */
    private String aipCarNo;

    /**
     * 识别结果
     */
    private String aipContent;

    /**
     * 识别毛重
     */
    private Double gross;

    /**
     * 识别皮重
     */
    private Double tare;

    /**
     * 识别净重
     */
    private Double netWeight;

    /**
     * 审核状态(0:未审核,1：通过，2：拒绝)
     */
    private Integer examineStatus;

    /**
     * 审核人
     */
    private String examine;
    /**
     * 订单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date orderTime;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date examineTime;

    /**
     * 状态(0:启用1:禁用)
     */
    private Integer status;

    /**
     *图片ID(多张用逗号隔开)
     */
    private String imgId;

    /**
     * 图片URL(多张用逗号隔开)
     */
    private String imgUrl;

    /**
     * 备注
     */
    private String remark;

    private String aipRemark;

    private String errorImgUrl;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    private WeightErrorOrder(){}

    public WeightErrorOrder(String orderId, String openid, String phone, String driver, String carNo, Integer sceneType, Long stationId,
                            String stationName, Long supplierId, String supplier, String supplierCode, Long materialId,
                            String material, Integer isStorage, String aipMaterial, String aipCarNo, Double gross,
                            Double tare, Double netWeight, Integer examineStatus, String examine, Date examineTime,
                            Integer status, String imgId, String imgUrl, String remark, Date createTime, Date orderTime) {
        this.openid = openid;
        this.orderId = orderId;
        this.phone = phone;
        this.driver = driver;
        this.carNo = carNo;
        this.sceneType = sceneType;
        this.stationId = stationId;
        this.stationName = stationName;
        this.supplierId = supplierId;
        this.supplier = supplier;
        this.supplierCode = supplierCode;
        this.materialId = materialId;
        this.material = material;
        this.isStorage = isStorage;
        this.aipMaterial = aipMaterial;
        this.aipCarNo = aipCarNo;
        this.gross = gross;
        this.tare = tare;
        this.netWeight = netWeight;
        this.examineStatus = examineStatus;
        this.examine = examine;
        this.examineTime = examineTime;
        this.status = status;
        this.imgId = imgId;
        this.imgUrl = imgUrl;
        this.remark = remark;
        this.createTime = createTime;
        this.orderTime = orderTime;
    }
}
